import request from "@/utils/request";

const LOGINLOG_BASE_URL = "/loginLog";

const LoginLogAPI = {
  /** 获取系统访问日志分页数据 */
  getPage(queryParams?: LoginLogPageQuery) {
    return request<any, PageResult<LoginLogPageVO[]>>({
      url: `${LOGINLOG_BASE_URL}/page`,
      method: "get",
      params: queryParams,
    });
  },
  /**
   * 获取系统访问日志表单数据
   *
   * @param id LoginLogID
   * @returns LoginLog表单数据
   */
  getFormData(id: number) {
    return request<any, LoginLogForm>({
      url: `${LOGINLOG_BASE_URL}/${id}`,
      method: "get",
    });
  },

  /** 添加系统访问日志*/
  add(data: LoginLogForm) {
    return request({
      url: `${LOGINLOG_BASE_URL}`,
      method: "post",
      data: data,
    });
  },

  /**
   * 更新系统访问日志
   *
   * @param id LoginLogID
   * @param data LoginLog表单数据
   */
  update(data: LoginLogForm) {
    return request({
      url: `${LOGINLOG_BASE_URL}`,
      method: "put",
      data: data,
    });
  },

  /**
   * 批量删除系统访问日志，多个以英文逗号(,)分割
   *
   * @param ids 系统访问日志ID字符串，多个以英文逗号(,)分割
   */
  deleteByIds(ids: string) {
    return request({
      url: `${LOGINLOG_BASE_URL}/${ids}`,
      method: "delete",
    });
  }
}

export default LoginLogAPI;

/** 系统访问日志分页查询参数 */
export interface LoginLogPageQuery extends PageQuery {
}

/** 系统访问日志表单对象 */
export interface LoginLogForm {
  /** 主键ID */
  loginId?:  number;
  /** 用户账号 */
  userCode?:  string;
  /** 登录IP地址 */
  ipaddr?:  string;
  /** 登录地点 */
  loginLocation?:  string;
  /** 浏览器类型 */
  browser?:  string;
  /** 操作系统 */
  os?:  string;
  /** 提示消息 */
  msg?:  string;
  /** 登录状态（0成功 1失败） */
  status?:  number;
  /** 访问时间 */
  loginTime?:  Date;
  /** 租户ID */
  tenantId?:  number;
  /** 修改时间 */
  updatedTime?:  Date;
  /** 修改人的id */
  updatedUser?:  number;
  /** 创建时间 */
  createdTime?:  Date;
  /** 创建人的id */
  createdUser?:  number;
  /** 有效状态，0:无效 1:有效 */
  valid?:  number;
}

/** 系统访问日志分页对象 */
export interface LoginLogPageVO {
  /** 主键ID */
  loginId?: number;
  /** 用户账号 */
  userCode?: string;
  /** 登录IP地址 */
  ipaddr?: string;
  /** 登录地点 */
  loginLocation?: string;
  /** 浏览器类型 */
  browser?: string;
  /** 操作系统 */
  os?: string;
  /** 提示消息 */
  msg?: string;
  /** 登录状态（0成功 1失败） */
  status?: number;
  /** 访问时间 */
  loginTime?: Date;
  /** 租户ID */
  tenantId?: number;
  /** 修改时间 */
  updatedTime?: Date;
  /** 修改人的id */
  updatedUser?: number;
  /** 创建时间 */
  createdTime?: Date;
  /** 创建人的id */
  createdUser?: number;
  /** 有效状态，0:无效 1:有效 */
  valid?: number;
}

